home *** CD-ROM | disk | FTP | other *** search
/ Aminet 34 / Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso / Aminet / dev / basic / SocketFuncs.lha / v1.0 / TCPSocketIncs.bb2 < prev   
Encoding:
Text File  |  1999-10-10  |  2.8 KB  |  164 lines

  1. ;----------------------------------------------------------------------------
  2. ; ASM Function calls for bsdsocket.library functions v1.0 by Roger Light 1999.
  3. ;
  4. ; Allows non-restrictive use of bsdsocket.library - ie bsdsocket.library
  5. ; doesn't have to be open on your program startup.
  6. ;
  7. ; See MiamiSDK from Nordic Global for function descriptions.
  8. ;
  9. ; Functions are named as follows:
  10. ;
  11. ; socket_() changes to socket{}
  12. ;
  13. ; NOTE: This is a cut down version of SocketIncs.bb2 intended for use with
  14. ; TCPFuncs.bb A complete set of replacement bsdsocket.library function calls
  15. ; is available from me.
  16. ;
  17. ; Contact me at rogerlight@mindless.com
  18.  
  19.  
  20. ;----------------------------------------------------------------------------
  21.  
  22. Function.l socket{domain.l, type_.l, protocol.l}
  23. ;                   d0        d1        d2
  24.   SHARED SocketBase.l
  25.   MOVE.l a6,-(a7)
  26.   GetReg d6,SocketBase
  27.   MOVE.l d6,a6
  28.   JSR -30(a6)
  29.  
  30.   MOVE.l (a7)+,a6
  31.   AsmExit
  32. End Function
  33.  
  34. ;----
  35.  
  36. Function.l connect{s.l, *name.l, namelen.l}
  37. ;                   d0    a0        d1
  38.   SHARED SocketBase.l
  39.   MOVE.l a6,-(a7)
  40.   GetReg d6,SocketBase
  41.   MOVE.l d6,a6
  42.  
  43.   MOVE.l d1,a0
  44.   MOVE.l d2,d1
  45.  
  46.   JSR -54(a6)
  47.  
  48.   MOVE.l (a7)+,a6
  49.   AsmExit
  50. End Function
  51.  
  52. ;----
  53.  
  54. Function.l send{s.l, *buf.l, len_.l, flags.l}
  55. ;                d0    a0      d1      d2
  56.   SHARED SocketBase.l
  57.   MOVE.l a6,-(a7)
  58.   GetReg d6,SocketBase
  59.   MOVE.l d6,a6
  60.  
  61.   MOVE.l d1,a0
  62.   MOVE.l d2,d1
  63.   MOVE.l d3,d2
  64.  
  65.   JSR -66(a6)
  66.  
  67.   MOVE.l (a7)+,a6
  68.   AsmExit
  69.  
  70. End Function
  71.  
  72. ;----
  73.  
  74. Function.l recv{s.l, *buf.l, len_.l, flags.l}
  75. ;                d0    a0      d1      d2
  76.   SHARED SocketBase.l
  77.   MOVE.l a6,-(a7)
  78.   GetReg d6,SocketBase
  79.   MOVE.l d6,a6
  80.  
  81.   MOVE.l d1,a0
  82.   MOVE.l d2,d1
  83.   MOVE.l d3,d2
  84.  
  85.   JSR -78(a6)
  86.  
  87.   MOVE.l (a7)+,a6
  88.   AsmExit
  89.  
  90. End Function
  91.  
  92. ;----
  93.  
  94. Function.l IoctlSocket{s.l, req.l, *argp.l}
  95. ;                       d0    d1      a0
  96.   SHARED SocketBase.l
  97.   MOVE.l a6,-(a7)
  98.   GetReg d6,SocketBase
  99.   MOVE.l d6,a6
  100.  
  101.   MOVE.l d2,a0
  102.  
  103.   JSR -114(a6)
  104.  
  105.   MOVE.l (a7)+,a6
  106.   AsmExit
  107.  
  108. End Function
  109.  
  110. ;----
  111.  
  112. Statement CloseSocket{s.l}
  113. ;                       d0
  114.   SHARED SocketBase.l
  115.   MOVE.l a6,-(a7)
  116.   GetReg d6,SocketBase
  117.   MOVE.l d6,a6
  118.                         ; s.l in d0
  119.   JSR -120(a6)
  120.  
  121.   MOVE.l (a7)+,a6
  122.   AsmExit
  123.  
  124. End Statement
  125.  
  126. ;----
  127.  
  128. Function.l WaitSelect{nfds.l, *readfds.l, *writefds.l, *exceptfds.l, *timeout.l, *signal.l}
  129. ;                       d0        a0          a1            a2           a3         d1
  130.   SHARED SocketBase.l
  131.   MOVE.l a6,-(a7)
  132.   GetReg d6,SocketBase
  133.   MOVE.l d6,a6
  134.  
  135.   MOVE.l d1,a0
  136.   MOVE.l d2,a1
  137.   MOVE.l d3,a2
  138.   MOVE.l d4,a3
  139.   MOVE.l d5,d1
  140.  
  141.   JSR -126(a6)
  142.  
  143.   MOVE.l (a7)+,a6
  144.   AsmExit
  145. End Function
  146.  
  147. ;----
  148.  
  149. Function.l gethostbyname{*name.l}
  150. ;                           a0
  151.   SHARED SocketBase.l
  152.   MOVE.l a6,-(a7)
  153.   GetReg d6,SocketBase
  154.   MOVE.l d6,a6
  155.  
  156.   MOVE.l d0,a0
  157.  
  158.   JSR -210(a6)
  159.  
  160.   MOVE.l (a7)+,a6
  161.   AsmExit
  162.  
  163. End Function
  164.